
aoe:     file format elf64-x86-64


Disassembly of section .init:

0000000000001000 <_init>:
    1000:	f3 0f 1e fa          	endbr64 
    1004:	48 83 ec 08          	sub    $0x8,%rsp
    1008:	48 8b 05 d9 2f 00 00 	mov    0x2fd9(%rip),%rax        # 3fe8 <__gmon_start__>
    100f:	48 85 c0             	test   %rax,%rax
    1012:	74 02                	je     1016 <_init+0x16>
    1014:	ff d0                	callq  *%rax
    1016:	48 83 c4 08          	add    $0x8,%rsp
    101a:	c3                   	retq   

Disassembly of section .plt:

0000000000001020 <.plt>:
    1020:	ff 35 72 2f 00 00    	pushq  0x2f72(%rip)        # 3f98 <_GLOBAL_OFFSET_TABLE_+0x8>
    1026:	f2 ff 25 73 2f 00 00 	bnd jmpq *0x2f73(%rip)        # 3fa0 <_GLOBAL_OFFSET_TABLE_+0x10>
    102d:	0f 1f 00             	nopl   (%rax)
    1030:	f3 0f 1e fa          	endbr64 
    1034:	68 00 00 00 00       	pushq  $0x0
    1039:	f2 e9 e1 ff ff ff    	bnd jmpq 1020 <.plt>
    103f:	90                   	nop
    1040:	f3 0f 1e fa          	endbr64 
    1044:	68 01 00 00 00       	pushq  $0x1
    1049:	f2 e9 d1 ff ff ff    	bnd jmpq 1020 <.plt>
    104f:	90                   	nop
    1050:	f3 0f 1e fa          	endbr64 
    1054:	68 02 00 00 00       	pushq  $0x2
    1059:	f2 e9 c1 ff ff ff    	bnd jmpq 1020 <.plt>
    105f:	90                   	nop
    1060:	f3 0f 1e fa          	endbr64 
    1064:	68 03 00 00 00       	pushq  $0x3
    1069:	f2 e9 b1 ff ff ff    	bnd jmpq 1020 <.plt>
    106f:	90                   	nop
    1070:	f3 0f 1e fa          	endbr64 
    1074:	68 04 00 00 00       	pushq  $0x4
    1079:	f2 e9 a1 ff ff ff    	bnd jmpq 1020 <.plt>
    107f:	90                   	nop
    1080:	f3 0f 1e fa          	endbr64 
    1084:	68 05 00 00 00       	pushq  $0x5
    1089:	f2 e9 91 ff ff ff    	bnd jmpq 1020 <.plt>
    108f:	90                   	nop

Disassembly of section .plt.got:

0000000000001090 <__cxa_finalize@plt>:
    1090:	f3 0f 1e fa          	endbr64 
    1094:	f2 ff 25 5d 2f 00 00 	bnd jmpq *0x2f5d(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    109b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .plt.sec:

00000000000010a0 <putchar@plt>:
    10a0:	f3 0f 1e fa          	endbr64 
    10a4:	f2 ff 25 fd 2e 00 00 	bnd jmpq *0x2efd(%rip)        # 3fa8 <putchar@GLIBC_2.2.5>
    10ab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010b0 <puts@plt>:
    10b0:	f3 0f 1e fa          	endbr64 
    10b4:	f2 ff 25 f5 2e 00 00 	bnd jmpq *0x2ef5(%rip)        # 3fb0 <puts@GLIBC_2.2.5>
    10bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010c0 <__stack_chk_fail@plt>:
    10c0:	f3 0f 1e fa          	endbr64 
    10c4:	f2 ff 25 ed 2e 00 00 	bnd jmpq *0x2eed(%rip)        # 3fb8 <__stack_chk_fail@GLIBC_2.4>
    10cb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010d0 <printf@plt>:
    10d0:	f3 0f 1e fa          	endbr64 
    10d4:	f2 ff 25 e5 2e 00 00 	bnd jmpq *0x2ee5(%rip)        # 3fc0 <printf@GLIBC_2.2.5>
    10db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010e0 <malloc@plt>:
    10e0:	f3 0f 1e fa          	endbr64 
    10e4:	f2 ff 25 dd 2e 00 00 	bnd jmpq *0x2edd(%rip)        # 3fc8 <malloc@GLIBC_2.2.5>
    10eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010f0 <__isoc99_scanf@plt>:
    10f0:	f3 0f 1e fa          	endbr64 
    10f4:	f2 ff 25 d5 2e 00 00 	bnd jmpq *0x2ed5(%rip)        # 3fd0 <__isoc99_scanf@GLIBC_2.7>
    10fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .text:

0000000000001100 <_start>:
    1100:	f3 0f 1e fa          	endbr64 
    1104:	31 ed                	xor    %ebp,%ebp
    1106:	49 89 d1             	mov    %rdx,%r9
    1109:	5e                   	pop    %rsi
    110a:	48 89 e2             	mov    %rsp,%rdx
    110d:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
    1111:	50                   	push   %rax
    1112:	54                   	push   %rsp
    1113:	4c 8d 05 66 07 00 00 	lea    0x766(%rip),%r8        # 1880 <__libc_csu_fini>
    111a:	48 8d 0d ef 06 00 00 	lea    0x6ef(%rip),%rcx        # 1810 <__libc_csu_init>
    1121:	48 8d 3d 7a 06 00 00 	lea    0x67a(%rip),%rdi        # 17a2 <main>
    1128:	ff 15 b2 2e 00 00    	callq  *0x2eb2(%rip)        # 3fe0 <__libc_start_main@GLIBC_2.2.5>
    112e:	f4                   	hlt    
    112f:	90                   	nop

0000000000001130 <deregister_tm_clones>:
    1130:	48 8d 3d d9 2e 00 00 	lea    0x2ed9(%rip),%rdi        # 4010 <__TMC_END__>
    1137:	48 8d 05 d2 2e 00 00 	lea    0x2ed2(%rip),%rax        # 4010 <__TMC_END__>
    113e:	48 39 f8             	cmp    %rdi,%rax
    1141:	74 15                	je     1158 <deregister_tm_clones+0x28>
    1143:	48 8b 05 8e 2e 00 00 	mov    0x2e8e(%rip),%rax        # 3fd8 <_ITM_deregisterTMCloneTable>
    114a:	48 85 c0             	test   %rax,%rax
    114d:	74 09                	je     1158 <deregister_tm_clones+0x28>
    114f:	ff e0                	jmpq   *%rax
    1151:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1158:	c3                   	retq   
    1159:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001160 <register_tm_clones>:
    1160:	48 8d 3d a9 2e 00 00 	lea    0x2ea9(%rip),%rdi        # 4010 <__TMC_END__>
    1167:	48 8d 35 a2 2e 00 00 	lea    0x2ea2(%rip),%rsi        # 4010 <__TMC_END__>
    116e:	48 29 fe             	sub    %rdi,%rsi
    1171:	48 89 f0             	mov    %rsi,%rax
    1174:	48 c1 ee 3f          	shr    $0x3f,%rsi
    1178:	48 c1 f8 03          	sar    $0x3,%rax
    117c:	48 01 c6             	add    %rax,%rsi
    117f:	48 d1 fe             	sar    %rsi
    1182:	74 14                	je     1198 <register_tm_clones+0x38>
    1184:	48 8b 05 65 2e 00 00 	mov    0x2e65(%rip),%rax        # 3ff0 <_ITM_registerTMCloneTable>
    118b:	48 85 c0             	test   %rax,%rax
    118e:	74 08                	je     1198 <register_tm_clones+0x38>
    1190:	ff e0                	jmpq   *%rax
    1192:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1198:	c3                   	retq   
    1199:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000011a0 <__do_global_dtors_aux>:
    11a0:	f3 0f 1e fa          	endbr64 
    11a4:	80 3d 65 2e 00 00 00 	cmpb   $0x0,0x2e65(%rip)        # 4010 <__TMC_END__>
    11ab:	75 2b                	jne    11d8 <__do_global_dtors_aux+0x38>
    11ad:	55                   	push   %rbp
    11ae:	48 83 3d 42 2e 00 00 	cmpq   $0x0,0x2e42(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    11b5:	00 
    11b6:	48 89 e5             	mov    %rsp,%rbp
    11b9:	74 0c                	je     11c7 <__do_global_dtors_aux+0x27>
    11bb:	48 8b 3d 46 2e 00 00 	mov    0x2e46(%rip),%rdi        # 4008 <__dso_handle>
    11c2:	e8 c9 fe ff ff       	callq  1090 <__cxa_finalize@plt>
    11c7:	e8 64 ff ff ff       	callq  1130 <deregister_tm_clones>
    11cc:	c6 05 3d 2e 00 00 01 	movb   $0x1,0x2e3d(%rip)        # 4010 <__TMC_END__>
    11d3:	5d                   	pop    %rbp
    11d4:	c3                   	retq   
    11d5:	0f 1f 00             	nopl   (%rax)
    11d8:	c3                   	retq   
    11d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000011e0 <frame_dummy>:
    11e0:	f3 0f 1e fa          	endbr64 
    11e4:	e9 77 ff ff ff       	jmpq   1160 <register_tm_clones>

00000000000011e9 <adjacency>:
    11e9:	f3 0f 1e fa          	endbr64 
    11ed:	55                   	push   %rbp
    11ee:	48 89 e5             	mov    %rsp,%rbp
    11f1:	48 83 ec 30          	sub    $0x30,%rsp
    11f5:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
    11f9:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    1200:	00 00 
    1202:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1206:	31 c0                	xor    %eax,%eax
    1208:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%rbp)
    120f:	eb 67                	jmp    1278 <adjacency+0x8f>
    1211:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1214:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1218:	48 63 d2             	movslq %edx,%rdx
    121b:	48 83 c2 37          	add    $0x37,%rdx
    121f:	48 c1 e2 04          	shl    $0x4,%rdx
    1223:	48 01 d0             	add    %rdx,%rax
    1226:	48 83 c0 08          	add    $0x8,%rax
    122a:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
    1230:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1233:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1237:	48 63 d2             	movslq %edx,%rdx
    123a:	48 83 c2 37          	add    $0x37,%rdx
    123e:	48 c1 e2 04          	shl    $0x4,%rdx
    1242:	48 01 d0             	add    %rdx,%rax
    1245:	48 83 c0 10          	add    $0x10,%rax
    1249:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
    1250:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1253:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1257:	48 63 d2             	movslq %edx,%rdx
    125a:	48 83 c2 37          	add    $0x37,%rdx
    125e:	48 c1 e2 04          	shl    $0x4,%rdx
    1262:	48 01 d0             	add    %rdx,%rax
    1265:	48 83 c0 0c          	add    $0xc,%rax
    1269:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
    126f:	8b 45 e0             	mov    -0x20(%rbp),%eax
    1272:	83 c0 01             	add    $0x1,%eax
    1275:	89 45 e0             	mov    %eax,-0x20(%rbp)
    1278:	8b 45 e0             	mov    -0x20(%rbp),%eax
    127b:	83 f8 09             	cmp    $0x9,%eax
    127e:	7e 91                	jle    1211 <adjacency+0x28>
    1280:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%rbp)
    1287:	e9 ca 00 00 00       	jmpq   1356 <adjacency+0x16d>
    128c:	48 8d 3d 71 0d 00 00 	lea    0xd71(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1293:	e8 18 fe ff ff       	callq  10b0 <puts@plt>
    1298:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
    129c:	48 8d 55 e4          	lea    -0x1c(%rbp),%rdx
    12a0:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
    12a4:	48 89 c6             	mov    %rax,%rsi
    12a7:	48 8d 3d 64 0d 00 00 	lea    0xd64(%rip),%rdi        # 2012 <_IO_stdin_used+0x12>
    12ae:	b8 00 00 00 00       	mov    $0x0,%eax
    12b3:	e8 38 fe ff ff       	callq  10f0 <__isoc99_scanf@plt>
    12b8:	bf 10 00 00 00       	mov    $0x10,%edi
    12bd:	e8 1e fe ff ff       	callq  10e0 <malloc@plt>
    12c2:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
    12c6:	8b 55 e4             	mov    -0x1c(%rbp),%edx
    12c9:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    12cd:	89 10                	mov    %edx,(%rax)
    12cf:	8b 55 e8             	mov    -0x18(%rbp),%edx
    12d2:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    12d6:	89 50 04             	mov    %edx,0x4(%rax)
    12d9:	8b 55 e0             	mov    -0x20(%rbp),%edx
    12dc:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    12e0:	48 63 d2             	movslq %edx,%rdx
    12e3:	48 83 c2 37          	add    $0x37,%rdx
    12e7:	48 c1 e2 04          	shl    $0x4,%rdx
    12eb:	48 01 d0             	add    %rdx,%rax
    12ee:	48 83 c0 10          	add    $0x10,%rax
    12f2:	48 8b 10             	mov    (%rax),%rdx
    12f5:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    12f9:	48 89 50 08          	mov    %rdx,0x8(%rax)
    12fd:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1300:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1304:	48 63 d2             	movslq %edx,%rdx
    1307:	48 83 c2 37          	add    $0x37,%rdx
    130b:	48 c1 e2 04          	shl    $0x4,%rdx
    130f:	48 01 d0             	add    %rdx,%rax
    1312:	48 8d 50 10          	lea    0x10(%rax),%rdx
    1316:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    131a:	48 89 02             	mov    %rax,(%rdx)
    131d:	8b 45 e0             	mov    -0x20(%rbp),%eax
    1320:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
    1324:	48 63 c8             	movslq %eax,%rcx
    1327:	48 83 c1 37          	add    $0x37,%rcx
    132b:	48 c1 e1 04          	shl    $0x4,%rcx
    132f:	48 01 ca             	add    %rcx,%rdx
    1332:	48 83 c2 08          	add    $0x8,%rdx
    1336:	8b 12                	mov    (%rdx),%edx
    1338:	83 c2 01             	add    $0x1,%edx
    133b:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
    133f:	48 98                	cltq   
    1341:	48 83 c0 37          	add    $0x37,%rax
    1345:	48 c1 e0 04          	shl    $0x4,%rax
    1349:	48 01 c8             	add    %rcx,%rax
    134c:	48 83 c0 08          	add    $0x8,%rax
    1350:	89 10                	mov    %edx,(%rax)
    1352:	83 45 ec 01          	addl   $0x1,-0x14(%rbp)
    1356:	83 7d ec 0b          	cmpl   $0xb,-0x14(%rbp)
    135a:	0f 8e 2c ff ff ff    	jle    128c <adjacency+0xa3>
    1360:	90                   	nop
    1361:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1365:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    136c:	00 00 
    136e:	74 05                	je     1375 <adjacency+0x18c>
    1370:	e8 4b fd ff ff       	callq  10c0 <__stack_chk_fail@plt>
    1375:	c9                   	leaveq 
    1376:	c3                   	retq   

0000000000001377 <topsort>:
    1377:	f3 0f 1e fa          	endbr64 
    137b:	55                   	push   %rbp
    137c:	48 89 e5             	mov    %rsp,%rbp
    137f:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
    1383:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%rbp)
    138a:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    138e:	c7 80 70 03 00 00 00 	movl   $0x0,0x370(%rax)
    1395:	00 00 00 
    1398:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    139c:	c7 80 74 03 00 00 00 	movl   $0x0,0x374(%rax)
    13a3:	00 00 00 
    13a6:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%rbp)
    13ad:	eb 15                	jmp    13c4 <topsort+0x4d>
    13af:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    13b3:	8b 55 ec             	mov    -0x14(%rbp),%edx
    13b6:	48 63 d2             	movslq %edx,%rdx
    13b9:	c7 04 90 00 00 00 00 	movl   $0x0,(%rax,%rdx,4)
    13c0:	83 45 ec 01          	addl   $0x1,-0x14(%rbp)
    13c4:	83 7d ec 09          	cmpl   $0x9,-0x14(%rbp)
    13c8:	7e e5                	jle    13af <topsort+0x38>
    13ca:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%rbp)
    13d1:	eb 55                	jmp    1428 <topsort+0xb1>
    13d3:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    13d7:	8b 55 e8             	mov    -0x18(%rbp),%edx
    13da:	48 63 d2             	movslq %edx,%rdx
    13dd:	48 83 c2 37          	add    $0x37,%rdx
    13e1:	48 c1 e2 04          	shl    $0x4,%rdx
    13e5:	48 01 d0             	add    %rdx,%rax
    13e8:	48 83 c0 08          	add    $0x8,%rax
    13ec:	8b 00                	mov    (%rax),%eax
    13ee:	85 c0                	test   %eax,%eax
    13f0:	75 32                	jne    1424 <topsort+0xad>
    13f2:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    13f6:	8b 80 70 03 00 00    	mov    0x370(%rax),%eax
    13fc:	8d 50 01             	lea    0x1(%rax),%edx
    13ff:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1403:	89 90 70 03 00 00    	mov    %edx,0x370(%rax)
    1409:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    140d:	8b 90 70 03 00 00    	mov    0x370(%rax),%edx
    1413:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1417:	48 63 d2             	movslq %edx,%rdx
    141a:	48 8d 4a 14          	lea    0x14(%rdx),%rcx
    141e:	8b 55 e8             	mov    -0x18(%rbp),%edx
    1421:	89 14 88             	mov    %edx,(%rax,%rcx,4)
    1424:	83 45 e8 01          	addl   $0x1,-0x18(%rbp)
    1428:	83 7d e8 09          	cmpl   $0x9,-0x18(%rbp)
    142c:	7e a5                	jle    13d3 <topsort+0x5c>
    142e:	e9 78 01 00 00       	jmpq   15ab <topsort+0x234>
    1433:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1437:	8b 80 70 03 00 00    	mov    0x370(%rax),%eax
    143d:	8d 48 ff             	lea    -0x1(%rax),%ecx
    1440:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
    1444:	89 8a 70 03 00 00    	mov    %ecx,0x370(%rdx)
    144a:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
    144e:	48 98                	cltq   
    1450:	48 83 c0 14          	add    $0x14,%rax
    1454:	8b 04 82             	mov    (%rdx,%rax,4),%eax
    1457:	89 45 f0             	mov    %eax,-0x10(%rbp)
    145a:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    145e:	8b 80 74 03 00 00    	mov    0x374(%rax),%eax
    1464:	8d 50 01             	lea    0x1(%rax),%edx
    1467:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    146b:	89 90 74 03 00 00    	mov    %edx,0x374(%rax)
    1471:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1475:	8b 90 74 03 00 00    	mov    0x374(%rax),%edx
    147b:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    147f:	48 63 d2             	movslq %edx,%rdx
    1482:	48 8d 4a 78          	lea    0x78(%rdx),%rcx
    1486:	8b 55 f0             	mov    -0x10(%rbp),%edx
    1489:	89 14 88             	mov    %edx,(%rax,%rcx,4)
    148c:	83 45 e4 01          	addl   $0x1,-0x1c(%rbp)
    1490:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1494:	8b 55 f0             	mov    -0x10(%rbp),%edx
    1497:	48 63 d2             	movslq %edx,%rdx
    149a:	48 83 c2 37          	add    $0x37,%rdx
    149e:	48 c1 e2 04          	shl    $0x4,%rdx
    14a2:	48 01 d0             	add    %rdx,%rax
    14a5:	48 83 c0 10          	add    $0x10,%rax
    14a9:	48 8b 00             	mov    (%rax),%rax
    14ac:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    14b0:	e9 eb 00 00 00       	jmpq   15a0 <topsort+0x229>
    14b5:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    14b9:	8b 00                	mov    (%rax),%eax
    14bb:	89 45 f4             	mov    %eax,-0xc(%rbp)
    14be:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    14c2:	8b 55 f4             	mov    -0xc(%rbp),%edx
    14c5:	48 63 d2             	movslq %edx,%rdx
    14c8:	48 83 c2 37          	add    $0x37,%rdx
    14cc:	48 c1 e2 04          	shl    $0x4,%rdx
    14d0:	48 01 d0             	add    %rdx,%rax
    14d3:	48 83 c0 08          	add    $0x8,%rax
    14d7:	8b 00                	mov    (%rax),%eax
    14d9:	8d 50 ff             	lea    -0x1(%rax),%edx
    14dc:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    14e0:	8b 4d f4             	mov    -0xc(%rbp),%ecx
    14e3:	48 63 c9             	movslq %ecx,%rcx
    14e6:	48 83 c1 37          	add    $0x37,%rcx
    14ea:	48 c1 e1 04          	shl    $0x4,%rcx
    14ee:	48 01 c8             	add    %rcx,%rax
    14f1:	48 83 c0 08          	add    $0x8,%rax
    14f5:	89 10                	mov    %edx,(%rax)
    14f7:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    14fb:	8b 55 f4             	mov    -0xc(%rbp),%edx
    14fe:	48 63 d2             	movslq %edx,%rdx
    1501:	48 83 c2 37          	add    $0x37,%rdx
    1505:	48 c1 e2 04          	shl    $0x4,%rdx
    1509:	48 01 d0             	add    %rdx,%rax
    150c:	48 83 c0 08          	add    $0x8,%rax
    1510:	8b 00                	mov    (%rax),%eax
    1512:	85 c0                	test   %eax,%eax
    1514:	75 32                	jne    1548 <topsort+0x1d1>
    1516:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    151a:	8b 80 70 03 00 00    	mov    0x370(%rax),%eax
    1520:	8d 50 01             	lea    0x1(%rax),%edx
    1523:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1527:	89 90 70 03 00 00    	mov    %edx,0x370(%rax)
    152d:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1531:	8b 90 70 03 00 00    	mov    0x370(%rax),%edx
    1537:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    153b:	48 63 d2             	movslq %edx,%rdx
    153e:	48 8d 4a 14          	lea    0x14(%rdx),%rcx
    1542:	8b 55 f4             	mov    -0xc(%rbp),%edx
    1545:	89 14 88             	mov    %edx,(%rax,%rcx,4)
    1548:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    154c:	8b 55 f0             	mov    -0x10(%rbp),%edx
    154f:	48 63 d2             	movslq %edx,%rdx
    1552:	8b 14 90             	mov    (%rax,%rdx,4),%edx
    1555:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1559:	8b 40 04             	mov    0x4(%rax),%eax
    155c:	8d 0c 02             	lea    (%rdx,%rax,1),%ecx
    155f:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1563:	8b 55 f4             	mov    -0xc(%rbp),%edx
    1566:	48 63 d2             	movslq %edx,%rdx
    1569:	8b 04 90             	mov    (%rax,%rdx,4),%eax
    156c:	39 c1                	cmp    %eax,%ecx
    156e:	7e 24                	jle    1594 <topsort+0x21d>
    1570:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1574:	8b 55 f0             	mov    -0x10(%rbp),%edx
    1577:	48 63 d2             	movslq %edx,%rdx
    157a:	8b 14 90             	mov    (%rax,%rdx,4),%edx
    157d:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1581:	8b 40 04             	mov    0x4(%rax),%eax
    1584:	8d 0c 02             	lea    (%rdx,%rax,1),%ecx
    1587:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    158b:	8b 55 f4             	mov    -0xc(%rbp),%edx
    158e:	48 63 d2             	movslq %edx,%rdx
    1591:	89 0c 90             	mov    %ecx,(%rax,%rdx,4)
    1594:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1598:	48 8b 40 08          	mov    0x8(%rax),%rax
    159c:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    15a0:	48 83 7d f8 00       	cmpq   $0x0,-0x8(%rbp)
    15a5:	0f 85 0a ff ff ff    	jne    14b5 <topsort+0x13e>
    15ab:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    15af:	8b 80 70 03 00 00    	mov    0x370(%rax),%eax
    15b5:	85 c0                	test   %eax,%eax
    15b7:	0f 8f 76 fe ff ff    	jg     1433 <topsort+0xbc>
    15bd:	90                   	nop
    15be:	90                   	nop
    15bf:	5d                   	pop    %rbp
    15c0:	c3                   	retq   

00000000000015c1 <critical_path>:
    15c1:	f3 0f 1e fa          	endbr64 
    15c5:	55                   	push   %rbp
    15c6:	48 89 e5             	mov    %rsp,%rbp
    15c9:	48 83 ec 30          	sub    $0x30,%rsp
    15cd:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
    15d1:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%rbp)
    15d8:	eb 1d                	jmp    15f7 <critical_path+0x36>
    15da:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    15de:	8b 50 24             	mov    0x24(%rax),%edx
    15e1:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    15e5:	8b 4d e4             	mov    -0x1c(%rbp),%ecx
    15e8:	48 63 c9             	movslq %ecx,%rcx
    15eb:	48 83 c1 08          	add    $0x8,%rcx
    15ef:	89 54 88 08          	mov    %edx,0x8(%rax,%rcx,4)
    15f3:	83 45 e4 01          	addl   $0x1,-0x1c(%rbp)
    15f7:	83 7d e4 09          	cmpl   $0x9,-0x1c(%rbp)
    15fb:	7e dd                	jle    15da <critical_path+0x19>
    15fd:	e9 c5 00 00 00       	jmpq   16c7 <critical_path+0x106>
    1602:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1606:	8b 80 74 03 00 00    	mov    0x374(%rax),%eax
    160c:	8d 48 ff             	lea    -0x1(%rax),%ecx
    160f:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
    1613:	89 8a 74 03 00 00    	mov    %ecx,0x374(%rdx)
    1619:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
    161d:	48 98                	cltq   
    161f:	48 83 c0 78          	add    $0x78,%rax
    1623:	8b 04 82             	mov    (%rdx,%rax,4),%eax
    1626:	89 45 e0             	mov    %eax,-0x20(%rbp)
    1629:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    162d:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1630:	48 63 d2             	movslq %edx,%rdx
    1633:	48 83 c2 37          	add    $0x37,%rdx
    1637:	48 c1 e2 04          	shl    $0x4,%rdx
    163b:	48 01 d0             	add    %rdx,%rax
    163e:	48 83 c0 10          	add    $0x10,%rax
    1642:	48 8b 00             	mov    (%rax),%rax
    1645:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1649:	eb 75                	jmp    16c0 <critical_path+0xff>
    164b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    164f:	8b 00                	mov    (%rax),%eax
    1651:	89 45 e8             	mov    %eax,-0x18(%rbp)
    1654:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1658:	8b 40 04             	mov    0x4(%rax),%eax
    165b:	89 45 ec             	mov    %eax,-0x14(%rbp)
    165e:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1662:	8b 55 e8             	mov    -0x18(%rbp),%edx
    1665:	48 63 d2             	movslq %edx,%rdx
    1668:	48 83 c2 08          	add    $0x8,%rdx
    166c:	8b 44 90 08          	mov    0x8(%rax,%rdx,4),%eax
    1670:	2b 45 ec             	sub    -0x14(%rbp),%eax
    1673:	89 c2                	mov    %eax,%edx
    1675:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    1679:	8b 4d e0             	mov    -0x20(%rbp),%ecx
    167c:	48 63 c9             	movslq %ecx,%rcx
    167f:	48 83 c1 08          	add    $0x8,%rcx
    1683:	8b 44 88 08          	mov    0x8(%rax,%rcx,4),%eax
    1687:	39 c2                	cmp    %eax,%edx
    1689:	7d 29                	jge    16b4 <critical_path+0xf3>
    168b:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    168f:	8b 55 e8             	mov    -0x18(%rbp),%edx
    1692:	48 63 d2             	movslq %edx,%rdx
    1695:	48 83 c2 08          	add    $0x8,%rdx
    1699:	8b 44 90 08          	mov    0x8(%rax,%rdx,4),%eax
    169d:	2b 45 ec             	sub    -0x14(%rbp),%eax
    16a0:	89 c2                	mov    %eax,%edx
    16a2:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    16a6:	8b 4d e0             	mov    -0x20(%rbp),%ecx
    16a9:	48 63 c9             	movslq %ecx,%rcx
    16ac:	48 83 c1 08          	add    $0x8,%rcx
    16b0:	89 54 88 08          	mov    %edx,0x8(%rax,%rcx,4)
    16b4:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    16b8:	48 8b 40 08          	mov    0x8(%rax),%rax
    16bc:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    16c0:	48 83 7d f8 00       	cmpq   $0x0,-0x8(%rbp)
    16c5:	75 84                	jne    164b <critical_path+0x8a>
    16c7:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    16cb:	8b 80 74 03 00 00    	mov    0x374(%rax),%eax
    16d1:	85 c0                	test   %eax,%eax
    16d3:	0f 8f 29 ff ff ff    	jg     1602 <critical_path+0x41>
    16d9:	48 8d 3d 3b 09 00 00 	lea    0x93b(%rip),%rdi        # 201b <_IO_stdin_used+0x1b>
    16e0:	b8 00 00 00 00       	mov    $0x0,%eax
    16e5:	e8 e6 f9 ff ff       	callq  10d0 <printf@plt>
    16ea:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%rbp)
    16f1:	e9 95 00 00 00       	jmpq   178b <critical_path+0x1ca>
    16f6:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    16fa:	8b 55 e0             	mov    -0x20(%rbp),%edx
    16fd:	48 63 d2             	movslq %edx,%rdx
    1700:	48 83 c2 37          	add    $0x37,%rdx
    1704:	48 c1 e2 04          	shl    $0x4,%rdx
    1708:	48 01 d0             	add    %rdx,%rax
    170b:	48 83 c0 10          	add    $0x10,%rax
    170f:	48 8b 00             	mov    (%rax),%rax
    1712:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1716:	eb 68                	jmp    1780 <critical_path+0x1bf>
    1718:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    171c:	8b 00                	mov    (%rax),%eax
    171e:	89 45 e8             	mov    %eax,-0x18(%rbp)
    1721:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1725:	8b 40 04             	mov    0x4(%rax),%eax
    1728:	89 45 ec             	mov    %eax,-0x14(%rbp)
    172b:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    172f:	8b 55 e0             	mov    -0x20(%rbp),%edx
    1732:	48 63 d2             	movslq %edx,%rdx
    1735:	8b 04 90             	mov    (%rax,%rdx,4),%eax
    1738:	89 45 f0             	mov    %eax,-0x10(%rbp)
    173b:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
    173f:	8b 55 e8             	mov    -0x18(%rbp),%edx
    1742:	48 63 d2             	movslq %edx,%rdx
    1745:	48 83 c2 08          	add    $0x8,%rdx
    1749:	8b 44 90 08          	mov    0x8(%rax,%rdx,4),%eax
    174d:	2b 45 ec             	sub    -0x14(%rbp),%eax
    1750:	89 45 f4             	mov    %eax,-0xc(%rbp)
    1753:	8b 45 f0             	mov    -0x10(%rbp),%eax
    1756:	3b 45 f4             	cmp    -0xc(%rbp),%eax
    1759:	75 19                	jne    1774 <critical_path+0x1b3>
    175b:	8b 55 e8             	mov    -0x18(%rbp),%edx
    175e:	8b 45 e0             	mov    -0x20(%rbp),%eax
    1761:	89 c6                	mov    %eax,%esi
    1763:	48 8d 3d c6 08 00 00 	lea    0x8c6(%rip),%rdi        # 2030 <_IO_stdin_used+0x30>
    176a:	b8 00 00 00 00       	mov    $0x0,%eax
    176f:	e8 5c f9 ff ff       	callq  10d0 <printf@plt>
    1774:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1778:	48 8b 40 08          	mov    0x8(%rax),%rax
    177c:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1780:	48 83 7d f8 00       	cmpq   $0x0,-0x8(%rbp)
    1785:	75 91                	jne    1718 <critical_path+0x157>
    1787:	83 45 e0 01          	addl   $0x1,-0x20(%rbp)
    178b:	83 7d e0 09          	cmpl   $0x9,-0x20(%rbp)
    178f:	0f 8e 61 ff ff ff    	jle    16f6 <critical_path+0x135>
    1795:	bf 0a 00 00 00       	mov    $0xa,%edi
    179a:	e8 01 f9 ff ff       	callq  10a0 <putchar@plt>
    179f:	90                   	nop
    17a0:	c9                   	leaveq 
    17a1:	c3                   	retq   

00000000000017a2 <main>:
    17a2:	f3 0f 1e fa          	endbr64 
    17a6:	55                   	push   %rbp
    17a7:	48 89 e5             	mov    %rsp,%rbp
    17aa:	48 81 ec 20 04 00 00 	sub    $0x420,%rsp
    17b1:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    17b8:	00 00 
    17ba:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    17be:	31 c0                	xor    %eax,%eax
    17c0:	48 8d 85 e0 fb ff ff 	lea    -0x420(%rbp),%rax
    17c7:	48 89 c7             	mov    %rax,%rdi
    17ca:	e8 1a fa ff ff       	callq  11e9 <adjacency>
    17cf:	48 8d 85 e0 fb ff ff 	lea    -0x420(%rbp),%rax
    17d6:	48 89 c7             	mov    %rax,%rdi
    17d9:	e8 99 fb ff ff       	callq  1377 <topsort>
    17de:	48 8d 85 e0 fb ff ff 	lea    -0x420(%rbp),%rax
    17e5:	48 89 c7             	mov    %rax,%rdi
    17e8:	e8 d4 fd ff ff       	callq  15c1 <critical_path>
    17ed:	90                   	nop
    17ee:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    17f2:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    17f9:	00 00 
    17fb:	74 05                	je     1802 <main+0x60>
    17fd:	e8 be f8 ff ff       	callq  10c0 <__stack_chk_fail@plt>
    1802:	c9                   	leaveq 
    1803:	c3                   	retq   
    1804:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    180b:	00 00 00 
    180e:	66 90                	xchg   %ax,%ax

0000000000001810 <__libc_csu_init>:
    1810:	f3 0f 1e fa          	endbr64 
    1814:	41 57                	push   %r15
    1816:	4c 8d 3d 73 25 00 00 	lea    0x2573(%rip),%r15        # 3d90 <__frame_dummy_init_array_entry>
    181d:	41 56                	push   %r14
    181f:	49 89 d6             	mov    %rdx,%r14
    1822:	41 55                	push   %r13
    1824:	49 89 f5             	mov    %rsi,%r13
    1827:	41 54                	push   %r12
    1829:	41 89 fc             	mov    %edi,%r12d
    182c:	55                   	push   %rbp
    182d:	48 8d 2d 64 25 00 00 	lea    0x2564(%rip),%rbp        # 3d98 <__do_global_dtors_aux_fini_array_entry>
    1834:	53                   	push   %rbx
    1835:	4c 29 fd             	sub    %r15,%rbp
    1838:	48 83 ec 08          	sub    $0x8,%rsp
    183c:	e8 bf f7 ff ff       	callq  1000 <_init>
    1841:	48 c1 fd 03          	sar    $0x3,%rbp
    1845:	74 1f                	je     1866 <__libc_csu_init+0x56>
    1847:	31 db                	xor    %ebx,%ebx
    1849:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1850:	4c 89 f2             	mov    %r14,%rdx
    1853:	4c 89 ee             	mov    %r13,%rsi
    1856:	44 89 e7             	mov    %r12d,%edi
    1859:	41 ff 14 df          	callq  *(%r15,%rbx,8)
    185d:	48 83 c3 01          	add    $0x1,%rbx
    1861:	48 39 dd             	cmp    %rbx,%rbp
    1864:	75 ea                	jne    1850 <__libc_csu_init+0x40>
    1866:	48 83 c4 08          	add    $0x8,%rsp
    186a:	5b                   	pop    %rbx
    186b:	5d                   	pop    %rbp
    186c:	41 5c                	pop    %r12
    186e:	41 5d                	pop    %r13
    1870:	41 5e                	pop    %r14
    1872:	41 5f                	pop    %r15
    1874:	c3                   	retq   
    1875:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%rax,%rax,1)
    187c:	00 00 00 00 

0000000000001880 <__libc_csu_fini>:
    1880:	f3 0f 1e fa          	endbr64 
    1884:	c3                   	retq   

Disassembly of section .fini:

0000000000001888 <_fini>:
    1888:	f3 0f 1e fa          	endbr64 
    188c:	48 83 ec 08          	sub    $0x8,%rsp
    1890:	48 83 c4 08          	add    $0x8,%rsp
    1894:	c3                   	retq   
